Nim is a statically typed, imperative programming language that tries
to give the programmer ultimate power without compromises on runtime
efficiency. This means it focuses on compile-time mechanisms in all
their various forms.

Beneath a nice infix/indentation based syntax with a powerful (AST
based, hygienic) macro system lies a semantic model that supports a soft
realtime GC on thread local heaps. Asynchronous message passing is used
between threads, so no "stop the world" mechanism is necessary. An
unsafe shared memory heap is also provided for the increased efficiency
that results from that model.
